/*
 *  $Id: Rect.cs 1208 2010-11-23 16:46:17Z thenn.erannor $
 *	This file is a part of Ragima CCG.
 *	(C) 2008-2010 Ragima development group.
 *
 *	Licensed under the terms of the GNU GPL License version 2.
 *
 */

using AgateLib.Geometry;

namespace Ragima.Helper {
    /// <summary>
    /// Расширения для структуры Rectangle.
    /// </summary>
    public static class RectangleExtensions {
        /// <summary>
        /// Получает точку центра прямоугольника.
        /// </summary>
        public static Point Center(this Rectangle rect) {
            return new Point(rect.Left + rect.Width / 2, rect.Top + rect.Height / 2);
        }

        /// <summary>
        /// Получает точку центра прямоугольника.
        /// </summary>
        public static PointF Center(this RectangleF rect) {
            return new PointF(rect.Left + rect.Width / 2, rect.Top + rect.Height / 2);
        }

        /// <summary>
        /// Получает прямоугольник путем внутренних отступов от исходного прямоугольника.
        /// </summary>
        public static Rectangle Padding(this Rectangle rect, int padding) {
            if (padding == 0)
                return rect;
            return new Rectangle(rect.X + padding, rect.Y + padding, rect.Width - padding * 2, rect.Height - padding * 2);
        }
    }
}
